home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / lisp / stk-3.0 / stk-3 / blt-for-STk-3.0 / blt-1.9 / README < prev    next >
Encoding:
Text File  |  1995-12-20  |  13.2 KB  |  434 lines

  1. This is version 1.9.0 of the BLT library.  It is an extension to 
  2. Tk toolkit (it requires no patching of the Tcl or Tk libraries).  
  3.  
  4. This library works with the following releases of Tcl/Tk ONLY.  I, Jeffrey
  5. Hobbs jhobbs@cs.uoregon.edu, have patched BLT to reach this state with the
  6. help of others input, notably Richard Ball, Sven Delmas, and George Howlett.
  7. If you have any problems, please email me at jhobbs@cs.uoregon.edu (may be
  8. invalid after summer 1996).  Home sites (for newest versions, contact info):
  9.  
  10.     http://www.cs.uoregon.edu/~jhobbs/work/
  11.     ftp://ftp.cs.uoregon.edu/pub/jhobbs/
  12.  
  13. This version of BLT works with the following tcl/tk versions ONLY:
  14.  
  15.     tcl 7.4 / tk 4.0 (any patchlevel)
  16.     tcl 7.5a2 / tk4.1a2
  17.  
  18. Make sure to that after running 'configure', it finds the right combination
  19. of libraries and include files (in other words, don't use 4.0 includes with
  20. 4.1 libraries).  'make sharedlib' makes a shared library on systems that it
  21. understands.
  22.  
  23. The BLT toolkit contains the following widgets/commands:
  24.  
  25. 1) Drag-n-drop command: blt_drag&drop
  26.     Updated version of Michael McLennan's drag and drop command
  27.     (it's still maintained by Michael). 
  28.  
  29. 2) Hypertext widget: blt_htext
  30.     Allows text and Tk widgets to combined in a single scroll-able 
  31.     window.
  32.  
  33. 3) Busy window: blt_busy
  34.     For handling user-interaction when the application is "busy".
  35.     Manages an invisible "busy" window which prevents further 
  36.     user device (keyboard, mouse, button, etc.) interactions.
  37.     Also provides a different cursor which supersedes application
  38.     cursors.
  39.  
  40. 4) Bitmap command: blt_bitmap
  41.     Lets you read and write bitmaps from Tcl. Can define X bitmaps  
  42.     and create bitmaps from text strings.  Other options query any 
  43.         loaded X bitmap.
  44.  
  45. 5) Background "exec" command: blt_bgexec
  46.     Like "exec ... &", but collects the output of the detached 
  47.     UNIX subprocesses and sets a Tcl variable upon their completion.
  48.     Can be used with "tkwait variable" to handle application's 
  49.     expose events, etc. while waiting for subprocesses to finish.  
  50.  
  51. 6) Table geometry manager: blt_table
  52.     Specify window placements as table row,column positions. Also
  53.     has many options for placing constraints on window resizes.
  54.  
  55. 7) Barchart widget: blt_barchart
  56.     
  57. 8) XY graph widget: blt_graph
  58.  
  59. 9) Window option command: blt_win
  60.     Lets you raise, lower, map, or, unmap any window.  
  61.  
  62. 10) Watch commands: blt_watch
  63.     Lets you specify Tcl procedures to be run before and/or
  64.     after every Tcl command.  May be used for logging,
  65.     tracing, profiling, or debugging or Tcl code.
  66.  
  67. 11) Simple command trace: blt_debug
  68.     Simply prints out each Tcl command before it's executed.  
  69.  
  70. 12) Cutbuffer and bell commands: blt_cutbuffer, blt_bell
  71.     The commands are derived from the "bellcut" extensions and are 
  72.     provided as a convenience.  Credit should go to the author(s) 
  73.     (I can't remember who they are. Sorry) for this work.
  74.  
  75. See ChangeLog for further changes updates.
  76.  
  77. ---------
  78.  
  79. Changes since BLT-1.7 (Done by a collective group):
  80.  
  81.    - Updated for Tcl 7.4, Tk 4.0 internally.  Several of the demos
  82.      still need updating, but the code works...
  83.  
  84. ---------
  85.  
  86. Changes since BLT-1.6:
  87.  
  88. 1. New feature in "blt_graph", "blt_barchart":
  89.     
  90.    - New "-ticklength" option specifies length of ticks/subticks.
  91.      Ticks are no longer scaled with the dimensions of the window.
  92.      (POTENTIAL INCOMPATIBILITY).
  93.  
  94. 2. New feature in "blt_bgexec":
  95.  
  96.    - New "-statusvar" option sets variable with exit status of the
  97.      last command.  Now waits for subprocesses to finish even if stdout 
  98.      closes prematurely or output is redirected.  
  99.  
  100. 3. New application "applications/extloader": 
  101.  
  102.    - Creates an vanilla "wish" with an "extension" command from
  103.      dynamically loading and initializing extensions.  Try it out 
  104.      using BLT.  This command reflects the proposal made last year 
  105.      for an extension loader.  It is certainly not the last word on 
  106.      extension loading.  I any welcome comments or suggestions to 
  107.      improve this or any other loader.
  108.  
  109.      It's been tested on HP-UX, SunOS 4.x, and SunOS 5.x.  It should 
  110.      also work on ISIX 5.x, OSF1.
  111.  
  112. 4. Bug fixes:  See the file "ChangeLog" for details.  Thanks to all 
  113.    those who've sent me their reports and fixes.  
  114.  
  115.    - Many bug fixes in blt_graph/blt_barchart (mostly bugs introduced 
  116.      with BLT-1.6).
  117.  
  118.    - "blt_bitmap define" was freeing memory twice if bitmap already 
  119.      existed.
  120.  
  121. ---------
  122.  
  123. Changes since BLT-1.5:
  124.  
  125. 1. New features in "blt_graph":
  126.     
  127.    - New "-bufferelements" options caches elements in a pixmap.  Tags,
  128.      legend and active elements are now drawn after normal elements 
  129.      (POTENTIAL INCOMPATIBILITY).
  130.  
  131.    - Legend creates extra columns of element labels as needed. Legend
  132.      no longer runs off the graph window.
  133.  
  134.    - New legend commands to locate an element in the legend window 
  135.      coordinates, set active foreground/background colors for legend entries.
  136.      Legend background must be now specified (POTENTIAL INCOMPATIBILITY).
  137.  
  138.    - New "element deactivate" command. "element activate" command no longer 
  139.      supports "all" or "none" as index arguments (POTENTIAL INCOMPATIBILITY). 
  140.      If no indices are present, all points are active.  Use 
  141.      "element deactivate" instead of "none".
  142.  
  143.    - New "-borderwidth" option to control width of the border around line
  144.      symbols (e.g. circle, square, etc).  If borderwidth is zero, no border
  145.      is drawn.  Lines connecting symbols and the symbol's area are drawn
  146.      with the foreground color. Only the border is drawn in the background 
  147.      color.
  148.  
  149. 2. Misc changes
  150.  
  151.    - "blt_graph" and "blt_barchart":  Option database names prefixed 
  152.       by "elem" instead of "lineElem" or "barElem".  Class names now 
  153.       have no prefix (formerly "Elem"). (POTENTIAL INCOMPATIBILITY). 
  154.  
  155.    - "blt_barchart": -stipple option for blt_barchart now can take a 
  156.       list of bitmap names. This lets you specify different stipples for 
  157.       each bar segment.
  158.  
  159.    - "blt_table": configure command now can take more than one slave 
  160.      window name.  This lets you set the same options for a set of 
  161.      slave windows.
  162.  
  163.    - "blt_bgexec": output, error, and update variables can be elements
  164.      of an array. 
  165.  
  166. 3. Bug fixes:  See the file "ChangeLog" for details.  Thanks to all 
  167.    those who've sent me their reports and fixes.  
  168.     
  169. ---------
  170.  
  171. Changes since BLT-1.4:
  172.  
  173. 1. New "-descending" axis option for "blt_graph" and "blt_barchart".
  174.    Allows axis to be ordered in decreasing values.
  175.  
  176. 2. New "-invertxy" graph option for "blt_barchart" and "blt_graph".
  177.    Inverts the x and y axes (displays on x-axis on left, y-axis
  178.    on bottom of plot).
  179.  
  180. 3. Bug fixes:  See the file "ChangeLog" for details.  Thanks to all 
  181.    those who've sent me their reports and fixes.  
  182.  
  183. ---------
  184.  
  185. Changes since BLT-1.3:
  186.  
  187. 1. Axis not re-scaling when changing log/linear scale.
  188.  
  189. 2. New command: "blt_watch" arranges for Tcl procedures to be 
  190.    called before and/or after the execution of every Tcl command. 
  191.    This command may be used in the logging, profiling, or tracing of 
  192.    Tcl code.
  193.  
  194. 3. Bug fixes:  See the file "ChangeLog" for details.  Thanks to all 
  195.    those who've sent me their reports and fixes.  
  196.  
  197. ---------
  198.  
  199. Changes since BLT-1.2:
  200.  
  201. 1. Fixed manual scaling bug (seen in ./demos/graph2)
  202.  
  203. 2. New feature: C interface to reset "blt_graph" element data.
  204.  
  205. 3. Bug fixes:  See the file "ChangeLog" for details.  Again, thanks 
  206.    to all those who've sent me reports.  
  207.  
  208. ---------
  209.  
  210. Changes since BLT-1.1:
  211.  
  212. 1. Fixed bug (coredump) in "blt_bgexec" command introduced 
  213.    last release.
  214.  
  215. 2. Fixed bug (error) in "blt_graph" and "blt_barchart" commands 
  216.    introduced in last release.  Bug doesn't allow axis -min, -max options 
  217.    to be reset to autoscale.
  218.  
  219. 3. Fixed bug in Kosherdill installation.
  220.  
  221. 4. New feature in "blt_graph" and "blt_barchart".
  222.    Added alternate x and y axes (x2, y2).  
  223.    Moved axis title options to their respective axis commands
  224.     .graph configure -xtitle "X Axis Title"
  225.    becomes
  226.     .graph xaxis configure -title "X Axis Title"
  227.  
  228. ---------
  229.  
  230. Changes since BLT-1.0:
  231.  
  232. 1. Many changes to configuration and install files.  Hopefully this
  233.    is an improvement.
  234.  
  235. 2. New options in "blt_graph" to detect closest point and highlight
  236.    single element data points.
  237.  
  238. 3. New option in "blt_bitmap" command lets you create bitmaps of rotated 
  239.    text strings.
  240.  
  241. 4. Restructured BLT library to facilitate loading as a shared object.
  242.  
  243. 5. Lots of bug fixes:  See the file "ChangeLog" for details.  Again, thanks 
  244.    to all those who've sent me reports.  
  245.  
  246. ---------
  247.  
  248. Changes since BLT-1.0b2:
  249.  
  250. 1. First BLT application.  
  251.                 Kosher Dill
  252.         ( KOmprehensive Storage HandlER / Disk ILLustrator )
  253.  
  254.        ---------------------------------------------------------------
  255.           Copyright (c) 1993  AT&T Bell Laboratories
  256.         Michael J. McLennan (michael.mclennan@att.com)
  257.        ---------------------------------------------------------------
  258.  
  259.        Kosher Dill is a simple utility for managing disk usage.  It
  260.        provides a graphical representation of the system "du" command,
  261.        along with drag&drop facilities for exploring, compressing
  262.        and removing files.
  263.  
  264.    It can be found in the new "blt-1.0/applications" directory.
  265.  
  266. 2. Drag-and-drop facility "blt_drag&drop".  Michael McLennan has updated
  267.    and added his drag-and-drop command.  
  268.  
  269. 3. Shared library target (for supported systems):  I've been able to test
  270.    this only on SunOS 4.x, SunOS 5.x, and HP-UX 9.01 systems.
  271.  
  272. 4. Add -updatevar flag to "blt_bgexec":  You can now get partial updates
  273.    of output as the program is running.  See the script "demos/bgexec".
  274.  
  275. 5. Library directory: This directory contains the drag-n-drop protocols
  276.    and the PostScript prolog for graph and barchart.  The path can be
  277.    set in the following ways:
  278.     
  279.     - compiled into the library.
  280.     - set by the environment variable "BLT_LIBRARY"
  281.     - set by the Tcl variable "blt_library"
  282.  
  283. 6. Lots of bug fixes:  See the file "ChangeLog" for details.  Thanks to 
  284.    all those who've sent me reports.  I really appreciate it.  
  285.  
  286. ---------
  287.  
  288. How to get and test BLT:
  289.  
  290. The following describes how to get and install the BLT library.
  291.  
  292. 0. FTP the distribution from ftp.cs.uoregon.edu
  293.  
  294.     ftp ftp.cs.uoregon.edu
  295.     cd pub/jhobbs/
  296.     binary 
  297.     get blt-1.8.tar.gz
  298.     bye
  299.  
  300. 1. Uncompress and untar the distribution file.  
  301.  
  302.     zcat blt-1.8.tar.gz | tar -xvf - 
  303.  
  304.  
  305.    This will create a directory "blt-1.8" with the following 
  306.    subdirectories:
  307.     
  308.                         blt-1.8
  309.          ______________|_________________
  310.              |          |       |      |    |
  311.         applications  demos  library  man  src
  312.                                             |
  313.                                           shared
  314.  
  315. 2. Run ./configure
  316.  
  317.    Go into the "blt-1.8" directory 
  318.  
  319.     cd blt-1.8
  320.  
  321.    and run the auto-configuration script "./configure"
  322.  
  323.     ./configure 
  324.  
  325.    * If you want to use gcc, it's "./configure -with-gcc"
  326.  
  327.     ./configure -with-gcc
  328.  
  329.    * By default, the demo program, libBLT.a, the library files, and
  330.      manual pages will be installed in "/usr/local/blt".  You can 
  331.      change this by giving the -prefix option to ./configure.
  332.  
  333.     ./configure -prefix=/depot/stuff/blt
  334.     
  335.   You may be queried for the location of the Tcl and Tk libraries, if
  336.   "configure" can't find them in the standard locations.
  337.  
  338.   The configure script creates an include file "src/bltConfig.h".
  339.   It will also generate new Makefiles from their respective templates 
  340.   (Makefile.in).
  341.  
  342.     Makefile.in             ==> Makefile
  343.     src/Makefile.in            ==> src/Makefile
  344.     src/shared/Makefile.in    ==> src/shared/Makefile
  345.     man/Makefile.in        ==> man/Makefile
  346.     library/Makefile.in    ==> library/Makefile
  347.  
  348.   If "configure" can't find something (e.g. it can't find the X libraries),
  349.   edit the file "config.status" and run it.
  350.  
  351.     ./config.status
  352.  
  353.   Otherwise, you'll have to edit the Makefiles files by hand.
  354.  
  355.  
  356. 3. Compile the demonstration program "blt_wish".
  357.  
  358.     make 
  359.  
  360.  
  361. 4. Test by running the demos. 
  362.  
  363.    Go into the demos directory 
  364.     
  365.     cd demos
  366.  
  367.    and run the test scripts.
  368.     
  369.     ./graph
  370.  
  371.    If your system doesn't support "#!" in shell scripts, then it's
  372.  
  373.     ../blt_wish -f ./graph
  374.  
  375.  
  376. 5. Installing BLT
  377.  
  378.    The following directories will be created when BLT is installed.  
  379.    By default, the top directory is /usr/local/blt.  
  380.  
  381.        _____________|__________
  382.        |      |        |      |  
  383.       bin    lib     library man
  384.      
  385.    You can change the top directory by supplying the -prefix option to
  386.    ./configure.
  387.  
  388.    * If you don't install BLT, you will need to set the BLT_LIBRARY
  389.      environment variable or the Tcl variable "blt_library" in your
  390.      scripts.  Otherwise, you may not be able generate PostScript 
  391.      output for graphs and barcharts, or use the drag&drop facility 
  392.      properly.
  393.  
  394.  
  395. 6. BLT Applications
  396.  
  397.    In the "blt-1.8/applications" directory, there is the first 
  398.    application called "kosherdill".  It has its own README and
  399.    configure script.  
  400.  
  401. 7. Creating a shared library.
  402.  
  403.    This is currently available (and tested) on the following 
  404.    systems:
  405.  
  406.     SunOS 4.x
  407.     SunOS 5.x
  408.     HP-UX 9.01
  409.  
  410.    From the "blt-1.8" directory:
  411.  
  412.     make sharedlib
  413.  
  414.    This will create a shared library in the directory src/shared.
  415.  
  416.  
  417. 8. Adding BLT to your program.
  418.  
  419.    Add the following lines to your program's Tcl_AppInit routine 
  420.  
  421.     if (Blt_Init(interp) != TCL_OK) {
  422.         return TCL_ERROR;
  423.          }
  424.  
  425.    Link with libBLT.a
  426.  
  427.    and that's all there's to it.
  428.  
  429. 9. Send bugs reports, correspondence, etc. to
  430.  
  431.        george.howlett@att.com
  432.  
  433.  
  434.